1. Field of the Invention
The present invention concerns a process for sending a notification in a data processing network with distributed applications. It also concerns a network using the aforementioned process.
The invention applies in particular to the distributed object architecture of networks conforming to the xe2x80x9cCommon Object Request Broker Architecturexe2x80x9d (CORBA) specification of the xe2x80x9cObject Management Groupxe2x80x9d (OMG)
2. Description of the Prior Art
In the aforementioned architecture the objects are distributed between the various data processing units in the network. They communicate via a software bus which is called the xe2x80x9cObject Request Brokerxe2x80x9d (ORB) in the CORBA specification.
The expression xe2x80x9csoftware busxe2x80x9d designates the entity enabling objects to send and to receive requests in a distributed environment. The distributed applications are installed on data processing units communicating with each other via the physical medium to which the data processing units forming the network are connected and via the lower layers of the communication protocol, for example the IP (Internet Protocol) and TCP (Transmission Control Protocol) layers.
The data processing units are switches of a telecommunication network, for example, or a set of workstations connected to one or more printers.
In a network of the above kind the objects, wherever they are on the network, provide services to client objects which send requests for such services over the network. The role of the software bus (ORB) is to deliver the requests to the server objects concerned and to return the output values to the client objects. This operation is transparent as far as the client object is concerned. The latter does not know where the objects reside on the network, how they are implemented, how they are stored in memory or how they are executed. In order to submit a request the client object only needs to know the reference of the object.
In accordance with the CORBA specification each distributed object has a communication interface written in IDL (Interface Definition Language). The IDL interface provides a static definition of the interfaces of the objects enabling objects to be ported between different object versions.
The result of compiling the IDL interface is tied to the implementation of the object.
Accordingly, the client object can interact with a remote server object simply by invoking the IDL functions as a local object without concerning itself with the situation of the server object on the network. To this end the client object can use the format of the communication interface of the server object to submit its request.
In networks of the above kind large quantities of data are transmitted directly and synchronously from a sender object to a receiver object connected to the same software bus.
Large quantities of data pass through notification servers. The latter receive notifications from sender objects registered as such with the notification service. Receiver objects are registered as receiver objects and have indicated one or more predetermined test criteria for filtering notifications sent to them. The filtering is based on the data received from the notification service notifications that satisfy the predetermined test criteria.
The filtering methods are particularly useful for reducing the quantity of data transmitted over the network and for adapting the notification service to suit the needs of each receiver object.
The filters can be declared dynamically and modified.
The data transmitted by the sender objects in the form of notifications is structured into fields or attributes containing values specific to each sender object and concerning the latter.
Filtering consists in identifying certain fields in the data structure and carrying out a comparison based on the values of these fields and in accordance with the description of the filter.
Only the notifications for which the extracted values satisfy the predetermined test criteria are transmitted to the receiver object.
In such networks the filtering methods employed use simple structure tests that are not capable of effective filtering. In particular, these filters do not assure efficient filtering and do not use sufficiently sophisticated test criteria. Also, they are not able to limit effectively the traffic to the receiver objects so that the latter receive only the data they need.
Given the above, the network carries a large quantity of data of little relevance, unnecessarily increasing the traffic on the network.
An aim of the invention is to solve this problem and in particular to propose a transmission process and a network using the process in which efficient filtering effectively reduces the volume of communications whilst enabling network operation imperatives to be satisfied.
To this end, the invention consists in a process for sending a notification in a data processing network with distributed applications from a sender to at least one receiver via a notification service with which the receiver or each receiver is registered in order to receive notifications satisfying a predetermined test criterion, wherein:
the sender sends to the notification service a notification including a set of at least two values concerning the sender;
for each registered receiver, the notification service checks if the set of values satisfies the predetermined test criterion associated with the receiver;
the notification service sends the notification concerning the sender to the receiver if the predetermined test criterion is satisfied; and
the predetermined test criterion includes comparison of the at least two values concerning the sender.
Particular embodiments of the process can have one or more of the following features:
the network includes a plurality of senders, each sender sends to the other senders at least one particular value representative of information concerning it, the set in values of the notification sent by the sender to the notification service includes a value which depends on at least one of the particular values received by the sender, and the comparison is effected between the value which is dependent on at least one of the particular values and a value concerning the sender;
the sender or each sender is adapted to monitor the operation of a resource and the values compared constitute information representative of the functional status of the resource; and
the predetermined test criterion is defined by the receiver when it is registered with the notification service.
The invention further consists in a data processing network with distributed applications including at least one sender, at least one receiver and a notification service with which the receiver or each receiver is registered in order to receive notifications satisfying a predetermined test criterion, wherein:
the sender or each sender includes means for sending to the notification service a notification including a set of at least two values concerning the sender;
the notification service includes means for verifying, for each registered receiver, if the set of values satisfies the predetermined test criterion associated with the receiver;
the notification service includes means for sending the notification concerning the sender to the receiver if the predetermined test criterion is satisfied; and
the predetermined test criterion includes comparison of at least two values concerning the sender.
Particular embodiments of the network can have one or more of the following features:
it includes a plurality of senders, each sender includes means for sending to the other senders at least one particular value representative of information concerning it, the set of values of the notification sent by the sender to the notification service includes a value dependent on at least one of the particular values received by the sender, and the predetermined test criterion includes comparison of the value dependent on at least one of the particular values and a value concerning the sender;
the sender or each sender is adapted to monitor the operation of a resource and the values compared constitute information representative of the functional status of the resource;
the receiver includes means for defining the predetermined test criterion when it is registered with the notification service; and
at least one of the senders and receivers is an object.
The invention further consists in a communication unit of a data processing network with distributed applications, which network includes at least one sender and at least one receiver, the communication unit including a notification service with which the receiver or each receiver is registered in order to receive notifications satisfying a predetermined test criterion, the sender or each sender including means for sending to the notification service a notification including a set of at least two values concerning the sender, the notification service including means for verifying, for each registered receiver, if the set of values satisfies the predetermined test criterion associated with the receiver and means for sending the notification concerning the sender to the receiver if the predetermined test criterion is satisfied, wherein the predetermined test criterion includes comparison of at least two values concerning the sender.
The invention will be better understood after reading the following description given by way of example only and with reference to the appended drawing.